/*
打印所有子串，包含空字符串
例如:'abc'
子串:
  ''
  'abc'
  'ab'
  'ac'
  'bc'
  'a'
  'b'
  'c'
思路:  递归 从0位置开始，有两种选择，打印当前字符或者跳过(打印空字符)
 */

/**
 *
 * @param str {string}
 * @param index {number}
 * @param result {string}
 */
function printAllSubString (str, index, result) {
  if (index === str.length) {
    console.log(result)
    return
  }
  printAllSubString(str, index + 1, result) // 跳过
  printAllSubString(str, index + 1, result + str.charAt(index)) // 打印当前字符或者跳过
}

printAllSubString('abc', 0, '')
